Field of the Invention
The present invention is related to managing hydrocarbon field production and more particularly to simulating hydrocarbon or petrochemical energy field production with the simulation balanced across multiple parallel processors simulating production.
Background Description
Efficiently extracting energy resources, e.g., oil or natural gas, from a hydrocarbon reservoir field requires a comprehensive development plan tailored for the field. The development plan provides production guidelines for a given planning horizon on a drilling schedule, selected to maximize field production for the reservoir. Arriving at a good comprehensive development plan requires accurate computer models modeling the reservoir. A reservoir development engineer extracts information from the model(s) for decision makers. Decision makers select the best development plan for economically committing available resources to achieve an optimum return. A typical large, world-class reservoir requires a significant and costly level of analysis, and consumes large amounts of computer time and resources.
Normally, state of the art field simulators model the entire reservoir for fluid characteristics, e.g., pore pressure and/or temperature, and for geomechanical characteristics. These field characteristics change throughout the course of reservoir production, as fluid properties change, and as geomechanical behavior evolves. For example, reservoir rock may compact abruptly; pores can partially or completely clog reducing flow; or pores can collapses all together. These changes can have a significant physical impact on reservoir production. Consequently, efficiently managing production requires modeling the reservoir for the duration of production. Typically there are wide range of production choices both for the initial analysis, and subsequently, for when standard business practices change or a major investment strategy changes.
Simulating a relatively large field is a large job, typically too large for most state of the art computers. Thus, to keep the computer resource load at a manageable level during field analysis, the simulation may be spread over multiple processors, e.g., parallel processors or, even on several independent cloud computers. With the simulation spread across multiple processors, each processor carries out some aspect, portion of the reservoir model to arrive at a geomechanical and fluidic response relatively quickly. However, any performance advantage from distributing a large simulation across multiple parallel processors can be lost when the load on one processor overburdens that processor, causing a bottleneck. Further, while at one point in the simulation, one processor may be experiencing a bottleneck, it may be that at some other point in the simulation, later or earlier, another processor may be experiencing a different bottleneck. Thus, it is important to identify these bottlenecks and shift loads to mitigate or avoid them where possible.
State of the art approaches use what is known as persistence to distribute simulation tasks amongst available processors. Persistence assumes that computational loads tend to persist over time, i.e., that recent past loads and bottlenecks predict near future loads and bottleneck requirements. However, this persistence assumption breaks down with highly dynamic simulation tasks. Geomechanics models in presence of fractures and for reservoir fluid models, persistence may not hold or, may apply only to very short periods. When persistence breaks down, state of the art models suffer from computational load imbalance, i.e., unexpected bottlenecks. Unfortunately, the dynamic nature of hydrocarbon reservoirs has limited scalability and the simulation size. These limits have both further increased simulation time, expended and additional resources, for diminishing return from increasing the number of parallel processors running the model.
Consequently, there is a need for better predictors of future reservoir simulation load; and more particularly, for optimally balancing processor load prospectively on an optimal number of processors running a reservoir model.